/*
 * @Date: 2024-08-23 16:37:14
 * @Author: LiSong
 * @LastEditors: LiSong
 * @LastEditTime: 2024-11-12 14:44:47
 * @Description: 下拉组件
 */
export default {
  type: 'select',
  icon: 'select-field',
  order: 200,
  enabled: true,
  formItemFlag: true,
  options: {
    // ----- 原始字段
    // 组件名称
    name: '',
    // TODO 扩展字段 表单回显，字段编码
    code: '',
    // 组件大小
    size: '',
    // 组件标签文本
    label: '',
    // TODO 扩展字段 数据字段，存储使用
    dataField: '',
    // 标签对齐方式
    labelAlign: '',
    // 标签宽度
    labelWidth: null,
    // 标签隐藏 false-不隐藏 true-隐藏
    labelHidden: false,
    // 组件占位内容
    placeholder: '',
    // 未知
    columnWidth: '200px',
    // 默认值
    defaultValue: undefined,

    // 专属: 可远程搜索
    remote: false,
    // 专属: TODO 扩展字段 是否显示值 下拉专属
    showCode: true,
    // 是否可清除
    clearable: true,
    // 是否可筛选
    filterable: false,
    // 专属: 允许创建选项
    allowCreate: false,
    // 专属: 允许自动弹出
    automaticDropdown: false,  //自动下拉
    // 专属: 选项可多选
    multiple: false,
    // 专属: 多选数量限制
    multipleLimit: 0,
    // 隐藏
    hidden: false,
    configType: 0,
    // 禁用
    disabled: false,
    // 专属: 下拉选项配置
    optionConfig: {
      // 模式类型: static-静态数据 dict-字典数据 request-动态数据
      mode: 'static',
      // 替换字段
      fieldNames: {
        label: 'label',
        value: 'value',
        // children:'children',
      },
      // 字典项配置
      dictConfig: {
        // 字典类型: enums-本地枚举 base-基础数据
        dictType: 'enums',
        // 字典名称
        dictName: '',
        // 字典参数
        dictParams: '',
      },
      // 动态数据配置
      serveConfig: {
        url: '',
        method: 'post',
        params: '',
        paramsType: 'data'
      },
      // 静态数据配置
      staticConfig: {
        optionItems: [
          { "label": "选项一", "value": "1" }
        ]
      }
    },
    // 专属: 下拉选项配置-用于匹配对应设置组件
    optionItemsSelect: [],
    // 是否必填
    required: false,
    // 必填校验提示
    requiredHint: '',
    // 字段校验
    validation: '',
    // 校验失败提示
    validationHint: '',
    //-------------------
    // 自定义CSS样式
    customClass: '',
    // 标签文字提示
    // labelTooltip: null,
    // 标签Icon样式
    // labelIconClass: null,
    // 标签Icon位置
    // labelIconPosition: 'rear',
    //-------------------
    onCreated: '',
    onMounted: '',
    // onRemoteQuery: '',
    onChange: '',
    // onFocus: '',
    onBlur: '',
    onValidate: '',
  },
}